Rails の enqueue_after_transaction_commit を深掘りする
Active Job で利用できる enqueue_after_transaction_commit オプションについて調べていたところ、意外と奥が深く、それなりの時間調べたのでわかりやすくまとめてみます。 検証環境- ra...
Active Job で利用できる enqueue_after_transaction_commit オプションについて調べていたところ、意外と奥が深く、それなりの時間調べたのでわかりやすくまとめてみます。 検証環境- ra...
ActionMailer でメール送信をする際、ApplicationMailer に次のように書く例はよく見かけると思います。rubyclass ApplicationMailer < ActionMailer::Base...
Ruby on Rails 8 + Tailwind CSS v4 を使った Web アプリを本番環境にデプロイしたところ Tailwind CSS の一部のスタイルが適用されない という問題に遭遇しました。これまでも Tail...
Rails (ActiveRecord) ネタ。 destroyed_by_association(https://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssoci...
ActiveRecord が提供する has_many 、has_one 、belongs_to といったアソシエーションの設定を行うメソッドには autosave というオプションがある。API ドキュメント(ht...
Draper(https://github.com/drapergem/draper) が、具体的にどういったロジックで Decorator クラスを探索するかを調べた。 バージョンは v4.0.1 。 想定する状況...
includes(https://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.htmlmethod-i-includes) や joins(https://api...
Rails6にて insert_all, insert_all!, upsert_all という一括作成・更新の機能が導入された。 https://railsguides.jp/6_0_release_notes.html...
はじめにRSpec は慣れるととても手に馴染むテスティングツールだが、割と癖があって RSpec でテストを書くのに苦労している人も多いのではないだろうか。 自分はまさにそうで、書きたいテストは決まっていてもそれをどう書けば...
ActiveSupport::Concern(https://api.rubyonrails.org/classes/ActiveSupport/Concern.html) を extend したモジュールは以下の機能が使えるようになる...
Rails には Flash という機能がある。Flash の機能は次の通り。 flash はセッションの中の特殊な部分であり、リクエストごとにクリアされます。つまり flash は「直後のリクエスト」でのみ参照可能になるという特徴を...
Rails アプリで RSpec を使うと通常 example 実行のたびにデータが削除されるようになっているが、これが具体的にどのように行われているかについて。検証環境は以下の通り。- ruby 2.6.1p33 (2019-01...
環境- Rails 5.1.6- MySQL 5.7.21 状況データベースはまだ存在しないが、ActiveRecord で MySQL への接続だけは確立したい。何も考えずに次のようなコードを実行すると......
結論:spring の再起動が必要だった あらましRuby On Rails アプリケーションの開発中、app/ 以下に新しく validators というディレクトリを作ることになった。 最近の Rails...
draper(https://github.com/drapergem/draper) というデコレーター(またはプレゼンター)の機能を持つ Gem を使ってみた記録。 draper とは- draper is ......
ActiveModel::Serializers(AMS) という、出力する JSON をいい感じにコントロールできるというライブラリを使ってみた記録。多分、Rails で API を作るときなんかによく使われるライブラリ、くらいの認識から...
チラ裏です。 そのカラムにインデックスを張るべきか否か、そしてそれはどう判断すべきなのか- かなり頻繁に where 句として使われる- カーディナリティは極端に小さい(現状2パターンしか無い。直近増える予定もない).....
Rails で「mysql2」を利用する際、bundle install をするとタイトルのようなエラーが出力された。かなりの時間これに悩まされた。具体的には以下のようなエラー。Gem::Installer::Extensio...
Rails を利用した Web アプリ開発をするときにフロントエンドまわりで利用したライブラリやフレームワーク,Tips などをまとめて、簡単に感想を書く。 CSS フレームワーク僕の CSS フレームワークの使途は基本的にパー...
form_for ヘルパーの内部で生成した textarea タグのサイズを設定する方法が、他のフィールドタグと違うような感じがしたのでメモを残しておく。erb これはダメ<%= f.text_area :descripti...
link_to にパラメータを付ける書き方をよく忘れる。ググるとたくさんの書き方が出てくるし、書き方は1つではないと思われるが、個人的に一番直感的だったものをメモしておく。erb hoge_index_pathのパラメータ...
マイグレーションファイルにて、カラムの型を boolean にしたレコードを条件にしてデータを取得する際、データベース上では「0」と「1」で表現されているが、実際には「true」「false」を使わないと意図通りにデータが取得できない。...
例えば、「customize」というサブディレクトリを利用していたとする。routes.rb は以下のような感じになるかと思う。rubynamespace 'customize' do resources :user...
あるモデルのメソッドの挙動を確認したくて、 rails consle でコンソールを立ち上げたとする。そして、立ち上げたあとにモデルのメソッドに修正を加えたとする。 この場合、コンソールを再起動しないと加えた修正が反映されない(...
erb BAD<%= f.select 'from_time', TIME, selected: '9:00', class: 'from_time' % GOOD<%= f.select(:from_time, TI...
bashrails generate migration マイグレーションファイル名名前の基本は「実行したい処理+テーブル名」だとか。というわけで、bashrails genereate migratio...
Rails でのページネーションの導入に関して、とても丁寧に手順が書かれたサイト(現在はリンク切れ)があったので、それを見ながら実装するまで。 インストールKaminari という gem がページネーションの実装に利用できるよ...
1週間くらい前にも全く同じ所で30分くらい詰まっていたのに、また同じ所で15分くらい詰まっていたので自分用にメモをしておく。- 外部キーの設定もしっかりやった- モデルへのリレーションの設定もやった「これでアソシエーションの設定は...
単純に where メソッドをメソッドチェインでつないでいくと AND 検索になってしまう。rubyUser.where(:owner_flg = true).where(:manager_flg = true) =...
LIKE の使いかたのメモ。ruby 'Bob' をnameに含むUserを検索User.where('name LIKE ?', '%Bob%')...
merge メソッドを利用することで、元々URL についていたパラメータ情報を消さずに、追加していくことができる。例えば、現在の URL が https://example.com?param1=fuga の時に、ruby...